This invention relates to an ignition timing system for a spark ignited vehicle engine and particularly to such a system utilizing a closed loop knock feedback control. Such systems generally provide knock correcting ignition retard in response to sensed knock in order to maintain knock at trace levels. Because knock can appear suddenly, the knock feedback control is designed with a high gain to provide a fast response. Therefore, the system is calibrated with an open loop ignition timing close to the actual expected ignition timing in order to reduce the size of the required feedback correction.
However, it is recognized that engines vary and change with age and wear and that other knock affecting conditions such as ambient temperature and humidity change unpredictably. These changes are generally slow compared to the speed required for the knock feedback control; so the prior art suggests adaptive ignition timing systems. In adaptive ignition timing systems, a set of memory cells stores adaptive ignition correction numbers as a function, typically, of engine speed and load, which numbers may be altered in engine operation. Each ignition timing calculation involves looking up a permanent calibrated ignition timing number from non-alterable memory and a correction number from alterable memory, both on the basis of an engine operating condition defined as a two-dimensional array based on engine speed and load ranges. These numbers are combined such as by addition, and the total is corrected for other engine operating parameters, including current knock from the fast knock feedback control.
The alterable cells are updated periodically, at a rate slow compared with the knock feedback control, on the basis of knock sensed since the last update. In the general manner of adaptive controls, a cell is not usually updated during transient conditions. A typical requirement is that a cell will not be updated unless the engine has operated at the engine speed and load ranges defining that cell for a predetermined minimum time. This determines which cell will be updated and promotes stability of adaptive learning. However, this means that adaptive learning or updating may be concentrated in stable modes of engine operation in which knock is relatively uncommon, with learning only rarely taking place in other, more transient, modes in which knock is much more common. Furthermore, the number of cells requiring updating can be relatively large with a two-dimensional (engine speed/load) lookup table. For example, a simple three-by-three lookup table includes nine cells. The more cells there are to update, the slower will be the updating process applied to the entire table and the more likely that some cells will go for a long time without being updated.